package com.yanxu.customsink;

import org.apache.flink.api.common.functions.OpenContext;
import org.apache.flink.streaming.api.functions.sink.RichSinkFunction;

/**
 * @author 折戟沉沙铁未销
 * @version V1.0
 * @date 2025-06-24-2025
 * @Description: 自定义sink.  输出的目的地
 */
public class MySink extends RichSinkFunction<String> {

    /**
     * 接收到数据，进行处理操作
     * @param value：  接收到的数据
     * @param context： flink 运行时的上下文信息
     */
    @Override
    public void invoke(String value, Context context) throws Exception {
        super.invoke(value, context);
        System.out.println(">>>>" +value+"<<<<");
    }

    /**
     * 初始化 sink 的操作
     * */
    @Override
    public void open(OpenContext openContext) throws Exception {
        super.open(openContext);
    }

    /**
     * sink 关闭操作。 可以做一些资源的清理操作。
     * @throws Exception
     */
    @Override
    public void close() throws Exception {
        super.close();
    }
}